home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigarom 1
/
Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso
/
FILES
/
BBS
/
SECOND_SIGHT
/
Archie 1.62⁄F.cpt
/
Archie 1.62_F
/
Archie ’89 Doc text
next >
Wrap
Text File
|
1990-05-24
|
58KB
|
1,311 lines
Archie ’89
A Command 50/51 Red Ryder Host 2.0 Enhancement
*** It’s Shareware ***
Written by Pete Johnson
(PETERJ on GEnie)
Glassell Park BBS
Los Angeles, CA
213-258-7649
Archie ’89 is a Host Command 50 application which greatly extends the powers
of Host for the sysop and for the callers through additional menu commands.
Archie ’89 is designed to be launched by Host, and will only function under
that circumstance.
Archie ’89 has evolved from its origins as a file archiving utility (hence
its name, also inspired by Nero Wolfe’s Archie Goodwin) into a set of more
than 30 extensions to the Host command set, all accessible from Host 2.0
menus you create with the Red Ryder Host Menu Editor or TMH.
Archie works remotely or locally and displays remote activity on the Host
computer screen. Its abilities include backing up log files, displaying text
files, searching text files for strings, analyzing the CallerLog, various
UserLog displays, searches and backup, file section displays and searches,
displaying the directories of all disks on line, killing selected files,
quitting to the Desktop, resetting the Host computer and launching another
application. To the caller, Archie looks just like Host -- the same prompts
appear with the same options you’ve chosen in the Config file. And, keeping
up with Host, Archie ’89 supports menus — Desk Accessories and commands
enabling you to return to Host, to transfer to another application or to
Quit.
To register Archie ’89, fill out the form included in Appendix B and send it
to me with $25. In return, I’ll send you a disk containing the latest
version of Archie with at least three additional commands implemented,
Laserprinted and indexed documentation and some Host 2.0 utilities which I
will not otherwise release. See Appendix B for details.
Archie ’89 reads Host 2.0 file formats. If you are running Host 1.4 use
Archie 1.39, which is a free program available from the GEnie FreeSoft
Roundtable. If you cannot find Archie 1.39, call the Glassell Park BBS and
leave me a message: I’ll make it available to you.
The first release of Archie ’89 (then called Archie ’88) was version
1.52, which is a continuation of version numbers I used for the original
Archie.
_______________________________________________________________
If you’re using an earlier version of Archie and want to set
it up quickly without reading the documentation, just copy
Archie onto your BBS disk, double-click Archie and answer two
questions. You’ll also have to convert your menus from Host
1.4 format to Host 2.0 format — Archie only reads the new
menus. Also, because Host 2.0 doesn’t tolerate pathnames for
external applications, make sure your Command 50/51 menu item
just says Archie (no path) in its Option field. You don’t have
to do anything else. But if you want to take advantage of the new
commands, read on…
_______________________________________________________________
Archie in Action
________________
Archie Saws Logs…
I use Archie to archive my CallerLog and Validation Request files, which are
named CallerLog (of course) and Val.res, respectively. Archie enables me to
append either file to a pair of files called CallerLog.Arch and Val.res.Arch
(Archie adds the suffix .Arch to whatever files it backs up).
Archie also lets me read any text file for a selectable amount of time
calculated from the end of the file. If I call remotely at 1200 baud and ask
to see 1.5 minutes of the CallerLog.Arch file, Archie calculates
bps * secs->mins * how long = bytes to show
120 * 60 * 1.5 = 10800
and shows me the last 10,800 characters of the archived CallerLog.
Additionally, Archie can insert a time/date stamp in a newly-reset file. I
use this feature to date my ongoing Validation Request file.
Archie also lets me search any text file for selected text strings, which is
useful for reading the CallerLog to track uploads, to check downloads of
particular files or to see what a particular caller has been doing.
Archie also analyzes the CallerLog to show board activity with various
calculations. This report is composed when you ask for it, based on the
contents of the CallerLog. It’s directly available to the sysop and/or the
users of a BBS at any time, with up-to-the-last-call information. This is
what that report looks like:
BBS Activity
First caller: 12/13/88 at 11:20:33
Calls: 8 Average: 7 minutes Use: 1:01 (48%)
Public messages: 10 Private messages: 7 Uploads: 0 Downloads: 4
300: 0 (0%) 1200: 3 (38%) 2400: 5 (63%) 9600: 0 (0%) 19200: 0 (0%)
Local connects: 0 File transfers cancelled: 0 uploads and 0 downloads
External program launches: 2 Text file reads: 2
Exits: 6 normal, 0 time expired, 2 carrier lost and 1 inactivity
Connect, no log: 1 Host errors: 0 Other errors: 0
Network mail events: 0 4,203K available on disk
Most recent callers (old to new):
ROBERT STOKES from El Segundo on 12/13/88 at 11:20:33
DAN ACREE from South Gate on 12/13/88 at 11:32:34
STEVE BREISH from Temple City on 12/13/88 at 11:47:10
ROBERT STOKES from El Segundo on 12/13/88 at 11:57:07
MICHAEL SCOTT from Manhattan Beach, CA on 12/13/88 at 12:06:19
LARRY PRINCE from 2138252145 on 12/13/88 at 13:00:53
BRUCE RYNDFLEISZ from LONG BEACH on 12/13/88 at 13:19:54
This is a good on-the-run indication of board activity, and the file
transfers cancelled and carrier lost data may give you an early indication
of line noise or modem problems.
…And Reads and Edits the UserLog…
Archie offers extensive UserLog utilities. You can search for downloaders on
the basis of how many files they’ve downloaded, unless they’ve uploaded a
certain number of files or sent a certain number of messages. Archie’s
defaults are 25 downloads, 1 public message and 1 upload. So anyone who’s
downloaded 25 or more files without posting one message or uploading one
file is shown. You can change these defaults to whatever you want from an
Archie menu command.
You can also look at the Givers and Takers on your board. Archie’s default
assumption (changeable by menu) is that 1 upload allows 10 downloads and
that 5 messages are equivalent to 1 upload. Using this measure (or whatever
other you choose), you can look at people under or over any percentage you
specify. Want to see people contributing 500%? 0%? 100%? You name it, Archie
will display it. This and many other UserLog commands allows editing callers
when they are displayed. You can change access level, time limit and/or
delete a user from within Archie.
Archie also lets you look for and selectively delete inactive users. You can
look for one-time callers who haven’t called for a while (you set the time
period) or *anyone* who hasn’t called in whatever length of time you
specify. I suspected that I was carrying a number of elderly “one night
stands” in my UserLog, and Archie showed me that I was right. The first time
I used this feature, I was able to trim my UserLog by about 15%.
Archie can search the UserLog and display users by time limit, by access
level, by string search for name or by string search for “Calling From.”
When you’re done editing, Archie allows you to backup your UserLog to
compress it. You can choose to erase the old UserLog or, if you want
redundancy, you can keep it intact. It will be called UserLog.bak. Archie
treats your UserLog very carefully: at no time in the backup process is
there a chance that you could lose your master UserLog.
_______________________________________________________________
WARNING: Don’t backup your UserLog if you have deleted
users who precede you in the UserLog order, because Archie
and Host will no longer know who you are! Host maintains a
file which shows your position in the UserLog when you’re
working remotely. If you are user number 50 and you delete
user number 15, you will become user number 49 after the
backup, and Host and Archie will think that you are now
whoever was user number 51 before the backup. This
shouldn’t be a problem on most systems, since this command
should be used only by the sysop, who is usually the first
entry in the UserLog.
_______________________________________________________________
Several of the UserLog searches have “public” forms which show limited
information about the CallerLog, so if you want to let your callers use
Archie to find other callers from a particular city, for instance, you can
do so with only the Caller’s first name, last name, where from and date of
last call displayed.
If you need more sophisticated UserLog editing features you can find them in
other Host utility applications such as Ralph Yount’s excellent TUE.
…And Searches for Files…
Archie ’89 can search filenames *and* descriptions for matching characters,
so you can offer your callers very sophisticated file access. And Archie
displays file sections with more information than Host offers. Here is a
sample Archie file display:
Title: HyperTerm 3 Size: 15K Version: 3.0 Uploaded: 07/27/88
Downloads: 4 Last Download: 08/02/88 Uploader: Pete Johnson
Fully capable telecommunications terminal program in a HyperCard stack.
Includes baud rate & parameter selection, some macros and MacBinary Xmodem
file transfers (using XCMDs). Very nicely done. Version 3.0. Stuffit file.
As you can see, this listing includes the name of the uploader (good for
motivating your callers to upload), the last access and version number in
addition to all the information Host shows in its standard file display.
…And Many Other Things
Archie can do all manner of other things: kill files, show directory
listings, print files on an ImageWriter, alter its own defaults, pre
validate users, back up the UserLog and so forth. We’ll itemize Archie’s
menu commands in a few more paragraphs, but first a few more words on basic
Archie topics.
Menu Commands
Archie has its own command set, à la Host: you can set up your own menus to
access whatever Archie attributes you want to implement, complete with
security levels and optional information. The command set is, of course,
different from Host’s, with the exception of five commands: Command 0
displays a line of menu information, Command 2 transfers to another menu and
Commands 12-14 display text files just as in Host. I arbitrarily numbered
Archie’s commands starting at 90 and tried to group them by function (not
very successfully as Archie has evolved — I’ve also had to dip into the 80s
for command numbers).
Inner Resources
When you first launch Archie, you will be asked the path and name of your
Host program and the path and name of the primary Archie menu. Archie stores
these as internal resources. All other necessary details are gleaned by
Archie from the LaunchRRH file, from the Config file, from the UserLog file
and from commands and options in menus. If you have problems getting Archie
set up, check your pathnames carefully.
Error Reporting
If Archie has problems, it writes error messages to a file called Archie
Errorlog, so check the contents of this file if you can’t get Archie to run.
Environmental Impact
Archie ’89 is a workhorse utility which should be copied to the same disk
and folder as your Red Ryder Host program. It will look for its Archie Menu
wherever you’ve told it. Archie is not a stand-alone utility: it is designed
to be launched by a Red Ryder Host Command 50 or 51, and will work only
under that condition. Since Host 2.0 doesn’t accept pathnames for Command
50/51 applications, make sure the Option field for any Command 50s contains
only the application name — Archie — and that Archie is at the same folder
level as Host.
The only problematic command in Archie’s repertoire is Command 127 — the
directory command. The directory command can do strange things to the system
default path, and may produce odd side-effects. I’ve tried to alter it so
that it restores the default path when it’s done, but I’m not convinced I
succeeded. If you want to use this command, experiment with it first in
local mode to be sure it works with your setup. If it works locally, it will
work remotely.
Because it’s compiled in ZBasic, Archie expects to see a printer driver in
the System folder (“Stupid ZBasic Tricks”), though it normally uses no
printing resources. Archie also requires at least one menu file. You can
call this menu anything and put it anywhere, as long as you tell Archie
what it’s called and where it is.
What Archie Can Do
(numerical command summary)
Command Type Description
0 This is a dummy command. Its text is displayed but
its selection key isn’t active. It’s for formatting
the menu.
OPTIONAL DATA: None
2 Branch to another menu.
OPTIONAL DATA: Path:MenuName
12 Display textfile with paging, interrupt with C (break) or
S (pause). Like Host Command 12.
OPTIONAL DATA: Path:FileName
13 Display textfile with paging, no interrupt. Like Host
Command 13.
OPTIONAL DATA: Path:FileName
14 Display textfile without paging, interrupt with C or S.
Like Host Command 14.
OPTIONAL DATA: Path:FileName
87 <This command available only to registered users>
Global New File Display. Searches all file sections listed
in a script for uploads within a caller-specified time limit
and displays qualifying entries with location. This is an
ultra-fast version of Command 88, but it depends on file
sections being organized in the “normal” Host way—oldest
files at the start, newest files at the end. If your file
sections are organized differently—alphabetically sorted,
for instance, use Command 88, which searches every entry
in a file section to see if it matches the time limit.
To achieve its speed, Command 87 starts at the end of the
file section to look for a match. If it finds one, it
shows the entry and moves backwards until it fails to find
a match. When there is not match, it moves to the next
file section in the script.
The script file consists of a pair of lines for each file
section. The first line is the path:filesection and the
second is a short description of the section, like so:
Glass:BBS:Files:DAs:*DAs
Desk Accessories
Appendix E contains the script I use on the Glassell Park
BBS as an example.
The first line tells Archie where to go. Archie uses the
second line to describe the whereabouts of the file.
OPTIONAL DATA: Path:Script FileName
88 <This command available only to registered users>
Global New File Display. Searches all file sections listed
in a script for uploads within a caller-specified time limit
and displays qualifying entries with location. This is a
slower version of Command 87, but it looks at every entry
in a file section, starting at the beginning of the file, for
a match.
The script file consists of a pair of lines for each file
section. The first line is the path:filesection and the
second is a short description of the section, like so:
Glass:BBS:Files:DAs:*DAs
Desk Accessories
Appendix E contains the script I use on the Glassell Park
BBS as an example.
The first line tells Archie where to go. Archie uses the
second line to describe the whereabouts of the file.
OPTIONAL DATA: Path:Script FileName
89 <This command available only to registered users>
Global File Match. Searches all file sections listed in a
script for uploads which contain a caller-specified string
of characters in the filename or description fields and
displays qualifying entries with location.
The script file is identical in format to the preceding
description. In fact, both commands can use the same
script file.
OPTIONAL DATA: Path:Script FileName
90 Display callers in the UserLog who have only called
the board once and who haven’t called since [you choose
the number of days]. This command allows you to delete
users as they are shown. It’s a useful “scavenging”
command to get rid of one-time callers who will probably
never call back. I used it recently to weed out one-time
callers who hadn’t called in at least 90 days and was
able to trim my UserLog by 10%. If Optional Data contains
a string, it’s used as a password for this command.
OPTIONAL DATA: Password (or none)
91 Same as 90, but shows all callers who haven’t called
since [you name it], with optional delete. Another tool
to clean the weeds out of your UserLog.
OPTIONAL DATA: Password (or none)
92 Search textfile for string. Just like Command 126 (sorry
about the numerical disorganization — the old commands
used up all the high numbers and forced newer commands
into this space), but allows the user to specify a
percentage of the file to search, calculated from the end
of the file. If the user enters 10, the last 10% of the
file is searched.
OPTIONAL DATA: Path:FileName
93 Analyze CallerLog. Shows number of connections, numbers
and percentages at various modem speeds, total use and
percentage of use, statistics on file transfers, messages
and logoffs. Can be used on *any* CallerLog — current
or archived.
OPTIONAL DATA: Path:CallerLogName
94 Print File. Prints a textfile such as the CallerLog on
an ImageWriter-compatible printer. Not for LaserWriters,
AppleTalk ImageWriters or other variants. Make sure you
have enough paper!
OPTIONAL DATA: None
96 File Search. Searches file section for matching keyword in
either file name or description, displays file with
additional information.
OPTIONAL DATA: Path:FileSectionName
97 Search String. Reads text file looking for a caller-entered
string, displays one line if there’s a match.
OPTIONAL DATA: Path:TextfileName
98 Backup UserLog. Backs up your UserLog. Names the original
“UserLog.bak” and makes a clean, free-of-deleted-users
copy called, naturally, “UserLog.” You may elect to delete
the backup copy. DON’T USE THIS COMMAND UNLESS YOU HAVE
A HIGH POSITION IN THE USERLOG! Otherwise, deleted users
above you will shift your position in the UserLog,
confusing Host.
OPTIONAL DATA: Password (or none)
99 Return to Host, using a specified menu.
This allows you to re-enter Host, using a different
menu than the one you left from (Host automatically
returns to the last-used menu after a Command 50/51).
OPTIONAL DATA: Path:Menu
100 Return to Host.
OPTIONAL DATA: None
101 Return to Host and disconnect without updating your
UserLog stats (it kills the LaunchRRH file). Useful
if you want to check on the board but don’t have
time to answer messages, since it won’t reset your
statistics when you leave.
OPTIONAL DATA: None
102 Resets the Host system. This wipes out the LaunchRRH file,
so your call won’t be recorded in the UserLog stats. This
command is useful for resetting Host — it works locally and
remotely — and is included for those times when you notice
that the BBS is not working properly (I have to periodically
reset Glassell Park to refresh file section displays and
[occasionally] to fix garbled menu displays [most of my
menus run from a RamDisk]). Since my board automatically
launches Host after a reset, this is an easy way to
“refresh” the BBS.
OPTIONAL DATA: None
103 Launch another program.
OPTIONAL DATA: Path:ProgramName
104 Kill a file. Caller is asked for Path:FileName. This
is an obviously dangerous command, but don’t worry:
if you don’t want to implement it, don’t put it in a
menu, and if you do want to implement it, give it a
high clearance requirement.
OPTIONAL DATA: None
105 Reset log file with datestamp. Writes a datestamp (a
line of date/time info followed by a line of ‘-----’)
then appends the file named in the Optional Data to
the end of a file with the same name plus the suffix
‘.Arch’ (BBS:Val.res becomes BBS:Val.res.Arch). Useful
for dating archived survey files, such as a validation
survey. After appending onto the archive file, it opens
an empty copy of the file specified in the Optional
data.
OPTIONAL DATA: Path:FileName
106 Same as 105, without the datestamp.
OPTIONAL DATA: Path:FileName
107 View logfile. Archie asks you how much time you want
to spend reading the file, calculates the correct
number of characters to show you, and displays them,
counting from the end of the file, since that’s the
most recent information. You can pause the display by
typing S or cancel it with a C.
OPTIONAL DATA: Path:FileName
108 Brief Name List. Lists UserLog entries sequentially
with Name and From information (just like Host).
OPTIONAL DATA: None
109 Name/Last Call List. Lists UserLog entries sequentially
with Name, From and Last Call information.
OPTIONAL DATA: None
110 Count entries in the UserLog. Quickly tells you how
many individual callers you’re entertaining.
OPTIONAL DATA: None
111 Search the UserLog for a name (all or part). If the
name is found, show the caller’s name, where from,
password (this is the only command in the series of
UserLog display commands which shows the password: be
very careful how you use it), # of calls, last call,
time limit, clearance, uploads, downloads, private
and public message postings. Allows optional editing
of caller’s clearance, time and delete status. If there
is a word in the Optional Data, Archie asks for this
password for access to this command. If Optional
Data is empty, no password is required. As protection,
Archie will not allow you to set a user clearance higher
than your own, or higher than 250 (this is true for all
UserLog editing commands)
OPTIONAL DATA: Password (or none)
112 Same as 111, but UserLog password is not shown and
editing is not possible. As with 111, you may optionally
require the caller to enter a password to use this
command.
OPTIONAL DATA: Password (or none)
113 Like 112, but shows only the caller’s name, where from,
number of calls and last call. No editing.
OPTIONAL DATA: Password (or none)
114 Pre Validate User. Lets you remotely create a user name and
password and set access level and time limit. You cannot
set a user access level higher than your own, and in no case
can you set an access level higher than 250.
OPTIONAL DATA: Password (or none)
115 Shows the entire UserLog with the information of
command 112. The display scrolls, but can be frozen
or cancelled by typing S or C. No editing.
OPTIONAL DATA: Password (or none)
116 Lists UserLog on the basis of caller’s clearance.
Display is the same as Command 112. Editing allowed.
OPTIONAL DATA: Password (or none)
117 Lists UserLog on the basis of caller’s time limit.
Display is the same as Command 112. Editing allowed.
OPTIONAL DATA: Password (or none)
118 Lists UserLog on the basis of caller’s location.
Display is the same as Command 112 (full, but no
password). No editing.
OPTIONAL DATA: Password (or none)
119 Lists UserLog on the basis of caller’s location.
Display is the same as Command 113 (brief). No editing.
OPTIONAL DATA: Password (or none)
120 List downloaders. This command uses three values
contained in Archie’s resources:
Number of downloads to qualify a user for display
Number of uploads to eliminate a user from display
Number of public messages to eliminate display.
Archie’s default settings are 25, 1 and 1, which
will show all users who have:
• Downloaded 25 or more files -and-
• Uploaded no files -and-
• Posted no messages.
If you want to set different values, no problem: see
Command 123. You’ll be shown the same user info as in
command 112. Allows optional editing of caller’s
clearance, time and delete status. Responds to
S/Stop and C/Cancel.
OPTIONAL DATA: Password (or none)
121 Analyze the UserLog for Givers (callers who upload and/or
post messages) and Takers (callers who aren’t as diligent
in contributing). This command uses numbers in Archie’s
resources to compute “figures of merit” for the
UserLog, and shows callers who exceed (or equal) the
percentage of your choice (in the case of Givers) or
who are under (or equal) the percentage of your choice
(in the case of Takers). Archie starts life assuming:
1 upload = 10 downloads
5 messages = 1 upload
If you want to, you can easily change these values with
Command 123. These are the variables used by this command:
• Upload = how many downloads
• How many messages = an upload
• “Newcomers” figure — callers
are not processed unless they
have called more times than this
number.
• “Privileged” level — callers at
or above this level are not shown
in the analysis.
Allows optional editing of caller’s clearance, time and
delete status. Incidentally, there is no real difference
in the analysis performed for Givers or Takers — the
selection changes from “better than” to “worse than.”
OPTIONAL DATA: Password (or none)
122 Search text file from back to front for string. Same as
command 126, but starts at the end of the file. It displays
21 lines of information with the target string in the
middle.
OPTIONAL DATA: Path:FileName
123 Resets Archie’s default values for Commands 120 and 121.
You will be asked for seven criteria to use in analyzing
the UserLog:
<1> Downloads per upload?
<2> Messages equal to one upload?
<3> Minimum number of calls to qualify?
<4> Privilege level?
<5> Number of downloads to list?
<6> Number of uploads to exempt?
<7> Number of public messages to exempt?
Numbers 1-4 are for the Givers/Takers analysis performed
by Command 121. The first figure assigns an “ideal” ratio
between downloads and uploads. The second assigns a ratio
between messages and uploads. The third figure sets a
threshold to ignore new users. The fourth sets an access
level at or above which downloaders are ignored.
The fifth figure sets Downloads to qualify for the list
downloaders downloaders command 120. The sixth sets the
Uploads figure to eliminate listing. The seventh sets
the Public Messages figure to exempt.
OPTIONAL DATA: None
124 Exit to DeskTop. This will work remotely, but it’s not
advisable. Meanwhile, it’s handy for the local Sysop
to jump down to the DeskTop for file maintenance or
whatever, and eliminates the need for an external
program to do the same thing.
OPTIONAL DATA: None
125 Display information about Archie — version number etc.
OPTIONAL DATA: None
126 Search text file for string. Want to see if Scott Watson
called during the night? Just put Path:CallerLog in the
optional data and tell it to look for Mr. Watson. This
is very useful, and can be applied to all your text
files. It displays 21 lines of information with the
target string in the middle, so you can see if Scott
downloaded anything while he was on the board.
OPTIONAL DATA: Path:FileName
127 Show directory of all mounted disks or a selected folder.
Another dangerous command, particularly in conjunction with
Archie’s Command 104 to kill a file or Host’s Command 26
which allows uploading a file to replace any file on the
board. But useful for an absent-minded remote Sysop
who wants to remotely upload over an obsolete text
file. Command responds to S/Stop and C/Cancel. This
command has an unfortunate side-effect if Archie and
Host are not together in the topmost (root) folder of
a volume — it resets the default path, which can mess
Host and Archie up. Don’t use unless Archie and Host
are in the root directory.
OPTIONAL DATA: None
128 Clear SYSTEMx.MSG read flags in UserLog. Gives you the
ability to clear all read flags for SYSTEM1.MSG,
SYSTEM2.MSG or SYSTEM3.MSG, so you can show new system
messages to all your callers.
OPTIONAL DATA: Password (or none)
129 Set/Clear restriction flags in UserLog. Gives you the
ability to set or clear all restriction flags.
OPTIONAL DATA: Password (or none)
130 Zero textfile. Overwrites a textfile with a zero-length
textfile. Useful to get rid of cluttering information.
OPTIONAL DATA: Textfile path:name
131 Clear textfile. Scans a textfile and eliminates all lines
which do not contain the current date. Use to trim Tabby
log files down to today-only entries.
OPTIONAL DATA: Textfile path:name
132 Clear/archive textfile. Scans a textfile and appends all
lines which do not contain the current date to an .arch
textfile. Use to trim Tabby log files down to today-only
entries, while preserving an archive of past activity.
OPTIONAL DATA: Textfile path:name
133 Clear combined message sections. Clears all combined message
section entries in the UserLog. Use this command to force
everyone to re-select “combined reads” after you’ve added (or
deleted) message sections.
OPTIONAL DATA: Password (or none)
* * *
These commands obey the standard rules of menu entries, so you can set
clearance levels and have multiple versions of commands shown depending on
the caller’s clearance level. Archie has an arbitrary limit of 75 commands
per menu.
Archie returns to Host if more time than is specified in the Host Config
file elapses between commands. It also monitors the Carrier Detect status of
the modem and jumps back to Host if there’s a disconnect on a remote call.
Archie has its own screen, which much resembles the Host screen, with
current caller information displayed in a small bar at the top of the
screen. I was inspired to add this by Robert Thurman’s excellent Wrestling
program. I believe he also was the first to suggest that Command 50
applications be driven by Host menus and that Command 50s support menus,
also good ideas which I’ve implemented.
Compatibility
Archie has been tested on a Mac Plus and a Mac II and it works just fine
with System/Finders from June 1986 forward. I don’t know if it will operate
on a Mac 512K with the 64K ROMs. On the Glassell Park BBS, it runs on a Mac
Plus with a 150K RamDisk and Apple’s May ’87 System Software. It runs
under MultiFinder with 256K of memory allocated and has no problems as
far as I can tell, though I don’t use MultiFinder on the Glassell Park
BBS so I don’t have extensive battlefield experience.
Advanced Techniques
___________________
Blind Menus
Blind menus enable Archie to become an invisible extension to Host’s command
set. You can call Archie from a Host menu and have it execute any of its
command extensions without the caller having to use yet another menu.
Here’s how it works: Create a menu with the word “Execute” (no quotes; caps
and lower case don’t matter) as the first word of the first line of the menu
title. The other two lines don’t matter. The command section should consist
of any one Archie command, together with any necessary optional information.
It should be selected by an asterisk (*). Now, if you add a Command 50/51 to
any Host menu launching Archie, Archie will execute whatever command
you set it for — find a user by location, search a textfile for a string,
read from the end of a textfile, whatever — with no additional menu, then
will return to the Host menu which launched it.
When Archie is launched, it looks for whatever default menu you’ve defined
initially. If you want Archie to use additional menus on startup, read the
next section.
Multiple Default Menus
Archie has the flexibility to use different “default” menus. When Archie is
started, it checks the LaunchRRH file to see if it was launched from a menu
whose name includes another name enclosed in {} curly brackets. If so, Archie
uses the curly bracketed name as its menu when it starts. This menu can be
either an invisible extension to Host’s command set, as described in the
previous paragraph, or a full-blown Host-like menu for Archie to run. Here’s
a step-by-step description of how to set this up:
Find a menu to which you’d like to add a special Archie
command (it can be any menu except the Main Menu, since Host
insists on running a menu named simply “Main Menu”). For this
example, assume that it’s a menu called “User Info”. If you
wanted Archie to instantly execute Command 119 — brief listing
of users by location — prepare a menu with the word “Execute”
as its first title line and the single command 119, selected
by an asterisk (*). Name the menu “{Find User}” (no quotes,
but include the curly brackets). Now rename the “User Info”
menu “User Info {Find User}” (be sure to change its name on
any menus which branch to it!). That’s it. Whenever Archie is
launched from the User Info {Find User} menu, it starts up
with the {Find User} menu as its default. You can do the
same trick with other menus, all using the same copy of
Archie.
Important Note: The new default menu — {Find User} in this example — must
be located at the same folder level as Archie.
Beyond the Sysop
As I mentioned at the beginning of this document, Archie was conceived as a
file archiving utility, but it has grown well beyond my original aims. I
first thought that Archie was of use only to the sysop(s) of a board, but
Robert Lanza and others have been using Archie as an extension to Host’s
command set. Since Archie can search text files for strings, it’s not hard
to harness it with a Host survey file to let your callers search for
relevant information. You could, for instance, ask your callers to complete
a “biography” survey of their interests and areas of knowledge, and let
other callers search their responses to make contact. Your Host system can
become a database for your callers.
Archie’s abilities to function with blind menus and multiple default menus
increase its flexibility as a Host extension. And since Archie faithfully
reflects the look of your Host system, the caller is not distracted by a new
environment when Archie is launched.
If you’d like to see Archie in action, I invite you to call the Glassell
Park BBS. I have implemented Archie in the following ways:
• As a U>ser information command from my Main Menu. This menu lets callers
o search the UserLog for other callers, and shows when they last called
o see a BBS activity report through Archie’s Analyze CallerLog Command
o use the About Archie… command
• As a S>earch filenames and descriptions for a keyword command from *every*
filesection menu.
• As a global file search command which reads all my filesections and shows
o new files added to every filesection
o files whose names or descriptions match an entered string
• As a sysop set of commands accessible only to a remote sysop and me.
If you’re a registered Archie user, I’ll validate you for access to a
special Host sysops section on Glassell Park where I intend to make Archie
updates and — possibly — other Host utilities available.
ResEdit
If you’re handy with ResEdit, you can customize Archie’s defaults easily.
The default settings are contained in STR resources, all labelled neatly
according to function.
What Next?
I have more plans for Archie, and I’m open to suggestions. However, future
enhancements to Archie will be available only to registered users. I am
working with Ralph Yount on implementing additional remote UserLog functions
— I hope to make Archie a full-featured remote UserLog Editor, and Ralph is
giving me some great ideas. In addition, I want to add editing functions
to Archie’s FileSection repertoire. And I have some other ideas for how Archie
can become an even more useful extension to Host.
The Big Finish
_______________
Thanks to John Alcock, who designed Archie’s handsome icon. Additional bows
to Robert Lanza, Patricia O’Connor, Ray Terry, Ed Edell, Otis Eversole, Greg
Hulbert, Dennis Cosio, Steve Riggins, Reed Hutchinson and Jon Haferman, who
have been most enthusiastic Archie users and sometimes beta testers. Thanks
also to those nice people — including many people in this small list — who
sent me postcards in return for using previous editions of Archie.
And thanks especially to Scott Watson for creating Host and for giving it
the ability to launch external applications.
Pete Johnson
January, 1989
Glassell Park BBS
Post Office Box 65074
Los Angeles, CA 90065
(213) 258-7649 (300/1200/2400/9600 HST baud, 24 hours)
Appendix A
List of Archie Commands by Function
(see earlier command listing for fuller explanations)
(*) Optional information required
(&) Optional information can be used
Cmd Name Definition
UserLog
90 — Scavenge 1 Find inactive one-time callers (&)
91 — Scavenge all Find inactive callers (&)
98 — Back UserLog Back up UserLog (&)
108 — Name List List Name, From only
109 — Name List List Name, From, Last Call
110 — Count Users Count UserLog entries
111 — Name Search Full UserLog display (&)
112 — Name Search Like 111, password not shown (&)
113 — Name Search Name/From/Call stats only (&)
114 - Pre Validate Create a validated user (&)
115 — Find User Non-stop UserLog display (&)
116 — List Level List users by access (&)
117 — List Time List users by time (&)
118 — Location List users by location/full (&)
119 — Location List users by location/brief (&)
120 — List DL List downloaders (&)
121 — Credit Check Analyze user contributions (&)
123 — Alter Default Change user analysis values
128 - Clear Msg Read Clear SYSTEMx.MSG read flags (&)
129 - Restrict flags Set/clear restriction flags
133 - Clear Msg Combos Clear combined msg sections (&)
Files & Logs
93 — Analyze CLog Analyze CallerLog (*)
94 - Print File Prints text file on ImageWriter (*)
104 — Kill File Delete a file
105 — Reset Reset file with datestamp (*)
106 — Reset Reset file no datestamp (*)
107 — View Read a log file from end (*)
130 - Zero textfile Rewrite a textfile to zero length (*)
131 - Clear textfile Clear a textfile to today’s entries (*)
132 - Clear/arc text Like 131, but append old data to archive (*)
Display Text Files
12 — Display Text C cancel, paged (*)
13 — Display Text No cancel, paged (*)
14 — Display Text C cancel, no page (*)
92 — Search Log Look for string in last part of file (*)
97 - Search String Search text file, show one line if match (*)
122 - Search Log Look for string in file, end to beginning (*)
126 — Search Log Look for string in file (*)
File Sections {Commands 88 & 89 for registered users only}
87 - Global New File Read file sections script, show matches (*)
88 - Global New File Read file sections script, show matches (*)
89 - Global Find File Read file sections script, show matches (*)
96 - Find File Show filename and description matches (*)
Miscellaneous
2 — Change Menus Change menus (*)
99 — Change Menu Exit & run another menu (*)
125 — Archie Info About Archie…
127 — Directory Show directory of volumes
Exits
100 — Exit Normal exit
101 — No Update Wipe out LaunchRRH
102 — Exit Shutdown
103 — Launch App Run another program (*)
124 — Desktop Exit Archie to Desktop
Appendix B
Registration Information
You can register your copy of Archie ’89 by sending me a check for $25 (U.S.
funds only), along with your name and address. I would appreciate it if you
would include GEnie and/or CompuServe addresses if you have them — I will
use this information to notify you of major updates (or I’ll send you a card,
if you’d rather).
Name: __________________________________________________________________
BBS: ___________________________________________________________________
Address: _______________________________________________________________
City: __________________________________________________________________
State: _________________________________________________________________
Voice Phone: ______________________ BBS Phone: ________________________
GEnie or CompuServe ID #: _____________________________________________
Send to:
Pete Johnson
Glassell Park BBS
P.O. Box 65074
Los Angeles, CA 90065
In return, he said, sounding like a Ronco commercial, this is what you get:
• The latest release of Archie, all commands enabled, on an 800K disk
• A handsome LaserWriter-printed Archie manual with an index
• mehitabel, the sophisticated automatic Host 2.0 message pruning and back up
utility.
• QU, a program I’ve written in LS Pascal which gives you an automated Quote
of the Day function with Host 2.0.
• FSec Cleaner, a utility to check and maintain file section listings and
back them up.
• RePath 2.0, a utility to quickly modify the paths of your file section
listings.
• ReSize 2.5, a utility to recalculate file sizes of your file section
listings (useful after Stuffing uploads) and more.
[ This list of software is subject to change as Host evolves and I get more
good and bad ideas. ]
Appendix C
Archie Revision History
This account is presented for whatever interest it holds and as an
indication of my ongoing commitment to Archie. Some of the changes
implemented in earlier versions have been undone in later versions, some
because they were work-arounds for Host bugs which were later fixed, some
because Host changed and Archie, by virtue of its symbiotic relationship,
had to change too. The earlier listings of Archie’s command set are
authoritative — any other commands mentioned in this section have gone by
the wayside.
>>> Changes from Version 0.84 to 1.01 <<<
• Addition of nine new commands: branch to another menu on return to
Host, alter Archie’s default settings from within Archie and seven new
UserLog viewing commands, many including UserLog editing functions.
• Numerous bug repairs, including fixing the UserLog password function
(it didn’t work) and the local terminal mode (if your terminal settings
were non-Mac, local terminal sessions could be hopelessly strange).
• Improved error reporting, including writing error messages to an
“Archie Errorlog” file for later study.
• Archie no longer requires an “Archie.inf” file — all necessary
information is contained within Archie. These resources identify the
Host path:filename and the path:name of Archie’s main menu. Specifying
a particular menu name allows multiple versions of Archie to be used in
a Host system. Archie also contains data for UserLog analysis.
• Archie now gets its “inactivity” value from the Host Config file, so
you have the same grace period as Host.
• Additional setup flexibility: this version of Archie knows whether
you’re using the modem or printer port, and will work properly with
either.
• Some code cleanup, which was offset by creating additional functions,
which messed the code back up.
>>> Changes from Version 1.01 to 1.07 <<<
• This version features Hot Menus and much better response to keyboard
interrupts (Command-C, Command-S etc.). Prior versions checked the
keyboard only at the end of every text line displayed. Now the keyboard
is checked for interrupts after each character is printed on the screen
and while Archie is searching log files for matches.
• I also borrowed an idea from Eric “Dungeons” Johnson: Archie now sets
the three Systemx.msg flags so that people using Archie don’t have to
see the same “one-time” system messages over and over.
• And, inevitably, bug fixes. Previous versions did not correctly read
the HotMenus flag in the UserLog. Archie now does. And thanks to Chris
Hutcheson (C.HUTCHESON) of Club Mac Toronto for pointing out that
Archie’s “kill a file” command didn’t work. It does now.
>>> Changes from Version 1.07 to 1.23 <<<
• Archie uses the access level from the LaunchRRH file rather than from
the UserLog, so Archie correctly reflects and responds to access level
changes which have occurred during the current session.
• Archie shows remaining time and menu options, if they’re specified in
the Config file.
• Archie omits pathnames when it shows the name of a file. This makes
for a neater and more readable display. Rather than “Searching
MyDisk:BBS:Files:ReadMe:Val.res,” it says, “Searching Val.res.”
• Another idea swiped from Eric Johnson: if Host is maintaining a
CallerLog, Archie writes the line
External program Archie accessed.
into the CallerLog whenever it’s launched. The line is indented four
spaces, so Tom Konantz’ very useful CallerLog Analyzer program ignores
it. You can disable this feature by changing a resource — Archie’s
Command 123 lets you change Archie’s STR resource 138 from “Y” to “N” to
disable it (or you could use ResEdit).
• I fixed some bugs, reported by Ray Terry, which afflicted the
Directory command, and while I was at it I added an option to look at
one specific directory rather than all the volumes on line (Ray Terry’s
suggestion).
• I added an option to make Archie an invisible extension to Host’s
command set. You can now call Archie from a Host menu and have it
execute any of its command extensions without the caller having to use
yet another menu. Here’s how it works: Create a menu with the word
“Execute” (no quotes; caps and lower case don’t matter) as the first
word of the first line of the menu title. The other two lines don’t
matter. The command section should consist of any one Archie command,
together with any necessary optional information. It should be selected
by an asterisk (*). Now, if you add a Command 50/51 to any Host menu
launching Archie, the program will execute whatever command you set it
for — find a user by location, search a textfile for a string, read from
the end of a textfile, whatever — with no additional menu, then will
return to the Host menu which launched it. Ah, you say, but Archie
always opens a menu called “Archie Menu.” That means I’ll have to have
more than one copy of Archie if I want to use more than one invisible
command or if I also want to use Archie in its normal mode. Not with
this version of Archie. When Archie is started, it checks the LaunchRRH
file to see if it was launched from a menu whose name includes another
name enclosed in curly brackets. If so, Archie uses the curly bracketed
name as its menu when it starts. This menu can be either an invisible
extension to Host’s command set, as described in the previous paragraph,
or a full-blown Host-like menu for Archie to run. Here’s a step-by-step
description of how to set this up:
Find a menu to which you’d like to add a special Archie
command (it can be any menu except the Main Menu, since Host
insists on running a menu named simply “Main Menu”). For this
example, assume that it’s a menu called “User Info”. If you
wanted Archie to instantly execute Command 119 — brief listing
of users by location — prepare a menu with the word “Execute”
as its first title line and the single command 119, selected
by an asterisk (*). Name the menu “{Find User}” (no quotes,
but include the curly brackets). Now rename the “User Info”
menu “User Info {Find User}” (be sure to change its name on
any menus which branch to it!). That’s it. You can do the same
with other menus, all using the same copy of Archie.
New Archie commands in Version 1.23
• Commands 12, 13 & 14 are similar to the Host equivalents. They display
text files.
• Command 92 is a modification of Command 126. It searches a textfile
for a string, as 126 does, but it allows the user to specify a
percentage from the end of the file to search. If the user enters 25,
Command 92 will search only the last 25% of the file.
• Command 93 analyzes the CallerLog, showing connections, baud rates,
file and message activity, percentage of board activity, Command 50
applications launched and disconnect statistics. It can just as easily
analyze the CallerLog archive or anything in the CallerLog format.
• Command 98 backs up the UserLog, so you can eliminate deleted callers.
It deletes the backup (the original file) only if you say so. As with
all Archie UserLog actions, this treats the UserLog quite carefully.
>>> Changes from Archie 1.23 to 1.29 <<<
The biggest change is that Archie now updates the UserLog with the
current caller’s activity as recorded in the CallerLog. So, if you’re
keeping a CallerLog on your disk, the UserLog will *no longer* lose data
due to Host’s absent-mindedness regarding user statistics. If you’re
running a Host Command 50 game program, you might want to launch it with
Archie’s command 103 (using a special menu as described above) so you
don’t lose caller data. I’ve added a command — 122 — to search a
textfile from back to front and to display 21 lines in proper sequence
if the target string is found (this is a command I’ve wanted to
implement for a long time: Command 92 was a cheap shot at it).
Additionally, I fixed a small backspacing problem in the local Archie
display. And I reorganized the Analyze CallerLog display.
>>> Changes from Archie 1.29 to 1.31 <<<
A new command, 97, searches a textfile for a string and shows a line of
the textfile if the string is found. I use this with a text listing of
the files on the Glassell Park BBS, produced by Tom Konantz’ excellent
FSP program. It enables a caller to search for a key (such as FKey or
Mac II or VideoWorks) and will show a filename, its length and a
description if a match for the key is found. Handy for those times you’d
like to search for a file description.
>>> Changes from Archie 1.31 to 1.39 <<<
Command 94 prints a textfile, such as the CallerLog, to an ImageWriter.
Tom Fitzsimmons asked me to implement this feature. WARNING: This
routine simply pumps ASCII characters out the printer port (or the modem
port in the unlikely event that your modem is hooked to your printer
port and vice versa — it checks the Config file). It doesn’t use proper
printer dialog handles and there is no error trapping. It won’t
recognize a LaserWriter or an AppleTalk ImageWriter, and I don’t know
what it will do if the ImageWriter is off line or runs out of paper --
probably lock, waiting for the ImageWriter to come back to life.
Command 95 allows a caller to get more time in return for uploading
files. It checks the CallerLog for uploads by the current caller, adds
up their size and adjusts the caller’s temporary access upward
accordingly. Baud rate and file size are factored into the adjustment.
In no case can the caller’s adjusted time be more than twice the
caller’s original time, and no one can get more than 255 minutes of
access, regardless of uploads. Thanks to Greg Hulbert for suggesting
this — I’ve used many of his ideas. Upload information is gleaned from
the CallerLog. Archie reads the CallerLog from end to beginning until it
encounters a logon or the launch of an external application. Every
upload is recorded (up to 25 uploads). Then each upload entry is checked
for size (Archie opens each file to check its length) and is added to a
cumulative total of bytes. This total is divided by 67% of the caller’s
1-minute data rate to approximate XMODEM transfer rates. Additionally,
I’ve added a new resource to Archie (STR 140, UL Credit)to allow the
Sysop to establish an upload credit factor. This is originally set to 1,
but can be adjusted via ResEdit or the Archie change defaults dialog.
Changing this to 2 would give uploaders a 100% time bonus; changing it
to 0.5 would give :30 credit for each minute of uploading. The caller’s
*temporary* time limit is adjusted accordingly. When the person next
calls, the time limit remains as it was originally set in the UserLog --
no permanent change has been made. But for the session in which the
caller requested additional time in return for uploading, the caller can
get as much as twice his or her original time.
Command 96 searches a filesection for a string and displays the
filename, size and description if there is a match between the
user-entered keyword and the filename or its description. This is
functionally equivalent to command 97 — search a text file listing for
a keyword and show a line if a match is found — in the previous
version, but it works directly on Host filesections. You need to put the
path:filename of the target filesection in the optional field of the
menu.
Command 114 prevalidates a user who hasn’t yet called.
Aside from the new commands, there are a number of improvements over
previously released versions. The local keyboard is now active when a
remote caller is on line, Archie has learned to hang up the phone when
he needs to, some problems with Archie’s resources have been cured,
Archie is more selective in writing its own accesses to the CallerLog
(it doesn’t write an Archie access if Archie is used to launch another
application, but does write the application access), CallerLog entries
follow the new suggested format for Tom Konantz’ CallerLog Analyzer,
Archie no longer credits cancelled downloads and uploads to the UserLog,
someone prevalidating a user or editing another user cannot raise give
that user a higher access level than the editor’s, etc.
Although I announced that an earlier version of Archie cured Host’s “MSGHDR”
bug, it didn’t work. I haven’t been able to implement this fix using ZBasic
(though I’m still thinking about it). For now, I recommend that you launch
Archie and any other external application using Eric Johnson’s excellent
Flags program, which does fix this bug.
Version 1.39a of Archie fixes a bug which prevented Archie from properly
handling callers who hang up.
Version 1.39b of Archie fixes a problem which appeared when users tried to
modify Archie’s default settings — some pesky resources got scrambled,
leading to weird results such as Archie reading the UserLog when it meant to
read a menu. It also alters a “feature” which some judged a bug: Archie now
asks for a password every time a caller uses a password-protected command.
Version 1.39c fixes a dumb string length problem.
Version 1.39d checks to see if a user’s input is too long. Thanks to
Reed Hutchinson and Steve Riggins for pointing this one out.
>>> Changes from Archie 1.39 to Archie ’89 <<<
• Biggest changes: getting Archie to read Host 2.0 file formats — UserLog,
FileSections, LaunchRRH file, Config et al.
• Deleted features which had become redundant or unnecessary: no upload
credit (Command 95), don’t update the UserLog any more, don’t write Archie
accesses to CallerLog, don’t reset Systemx.msg read flags in UserLog.
• Added menu support and menu items!
• Added commands 87, 88 and 89 to read a text file script containing a pair
of lines for each filesection. The first line lists the path:filesection
name and the second is a short description of the file area for your users.
Each command requires the path:name of this script in its option field. Each
command prompts the caller for input. Commands 87 and 88 ask how many days
to search and show all files uploaded to the board within that time period.
Command 89 asks for a string to look for and shows all files whose names or
descriptions contain the string. All of these commands show files marked
with an asterisk (*) in the first character of their description only to
level 255 callers. Nifty. Available only to registered users.
• Revamped CallerLog analysis function to reflect calls at 9600 and 19200
baud.
• Archie now writes all text reads and application launches to the
CallerLog, if CallerLog writes are specified in the Config file.
Appendix D
In Case of Trouble
If Archie won’t launch properly or misbehaves in some way, before you send
me a desperate note on GEnie, please check the following:
• Is Archie being launched from a Host 2.0 menu which contains
pathname:Archie as optional information? If so, remove the pathname from
the menu (and make sure that Archie is at the same folder level as Host).
• Is Archie’s menu where it’s supposed to be?
• Is Archie’s menu in Host 2.0 format? (It should be.)
• Read the Host CallerLog and see if it contains any error messages.
• Look for a file called Archie Errorlog in the same folder as Archie. If it
exists, read it. This is a file Archie writes to when it gets into most
kinds of trouble, and it may contain a clue as to what’s going wrong.
• The Archie SIZE resource is set to 512K. Try adjusting this number up or
down to see if it helps the problem.
Appendix E
The following is a sample Command 88/89 script from the Glassell Park BBS. As
you can see, it consists of paired sets of lines. The first contains the path
and FileSection name. The second contains the area name to show the caller.
This script is used by Commands 87, 88 and 89 from an “All Files” directory
on Glassell Park. The area name is used to direct the caller to the specific
download directory where the file can be found. Incidentally, you can use
these Archie commands for more than one thing. Glassell Park uploads go to
temporary holding files, where they stay until I check them out and move
them to the downloads. I have a special Archie sysop script which allows me
to quickly scan all of these holding sections for new uploads.
Glass:BBS:Files:Business:*Business
Business
Glass:BBS:Files:Comm:*Comm
Communications
Glass:BBS:Files:DeskAcc:*DeskAcc
Desk Accessories
Glass:BBS:Files:Fonts:*Fonts
Fonts
Glass:BBS:Files:Fx:*Fx
Sound Effects
Glass:BBS:Files:Games:*Games
Games
Glass:BBS:Files:Graph:*Graph
Graphics
Glass:BBS:Files:Hyper:*Hyper
HyperCard
Glass:BBS:Files:Illus:*Illus
Illustrations
Glass:BBS:Files:Mac2:*Mac2
Macintosh II
Glass:BBS:Files:Music:*Music
Music
Glass:BBS:Files:Program:*Program
Programming
Glass:BBS:Files:Songs:*Songs
Songs
Glass:BBS:Files:Text:*Text
Text
Glass:BBS:Files:TN:*TN
Technical Notes
Glass:BBS:Files:Utility:*Utility
Utilities
Appendix F
The following files are included in the Shareware distribution package:
Archie ’89 the application
Archie ’89 Doc text the plain text documentation
Archie Menu a sample Archie User Menu
{Archie Sysop} a sample Archie Sysop menu
Archie Log Utils more sysop functions
Archie User Utils yet more sysop functions
!HyperxMenu {Key Search HC} a sample Host file menu
{Key Search HC} a “blind” menu launched by the previous menu
The menus will require editing before they will work with your system. They
are provided as samples of what Archie can do and how to set up the menus.
To use menu items which require passwords, type “Pass” (no quotes).